// pages/regist/regist.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        phone:"",
        username:"",
        pass:"",
        confirmPass:""
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },
    /**
     * 当点击注册时触发的函数
     * 1. 先校验输入的数据是否满足要求
     *      手机号满足，用户名、密码不能为空，密码和确认密码必须一致
     */
    submit(){
        //手机号：以1开头，第二位：3 4 5 6 7 8 9  第三位-第十一位：普通数字
        //正则表达式:通常被用来检索、替换那些符合某个模式（规则）的文本
        // ^:以什么开头 [3-9]:3到9中的任意一个   \d:等价于[0-9]
        // $:以什么结尾
        var reg = /^1[3-9]\d{9}$/;
        if(!reg.test(this.data.phone)){
            //给出提示
            wx.showToast({
              title: '手机号格式错误',
              icon:'error'
            })
        }else if(this.data.pass!=this.data.confirmPass){
            wx.showToast({
                title: '密码前后不一致',
                icon:'error'
            })
            //js:空字符串放在boolean中就是false
        }else if(this.data.username && this.data.pass){
            //1. 注册校验
            this.registCheck();
        }else{
            wx.showToast({
                title: '表单输入不正确',
                icon:'error'
            })
        }

    },
    /**
     * 清空
     */
    reset(){
        this.setData({
            phone:"",
            username:"",
            pass:"",
            confirmPass:""
        })
    },
    /**
     * 注册校验的函数
     * 1. 先根据手机号查询数据是否存在
     * 2. 如果存在给出提示，如果不存在插入数据
     */
    registCheck(){
        wx.cloud.callFunction({
            name:"getUserByPhone",
            data:{
                phone:this.data.phone
            },
            complete:res=>{
                if(res.result.data.length!=0){
                    //给出手机号重复的提示
                    wx.showToast({
                      title: '手机号已存在',
                      icon:"error"
                    })
                }else{
                    //可以注册
                    wx.cloud.callFunction({
                        name:"regist",
                        data:{
                            phone:this.data.phone,
                            username:this.data.username,
                            pass:this.data.pass
                        },
                        complete:res=>{
                            if(res.result._id){
                                wx.showToast({
                                  title: '注册成功',
                                  icon:"success",
                                  duration:1500,//图标显示时长
                                })
                                setTimeout(()=>{
                                    wx.navigateBack()//返回上一页
                                },1500)
                                
                            }
                        }
                    })
                }
            }
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})